<!DOCTYPE html>
<html>
<body>
</body>
<script>
function insertHeaderForTest(testContent, expected)
{
    document.body.innerHTML = "<div id='testDiv' contentEditable='true'>foofoo</div>";
    var targetDiv = document.getElementById("testDiv");
    var targetText = targetDiv.firstChild;
    window.getSelection().collapse(targetText, 3);
    document.execCommand("InsertHTML", false, testContent);
    var actual = targetDiv.innerHTML;
    if (actual == expected)
        return "Success. " + testContent +" was inserted into <div>foo^foo<div> and the result was:" + actual + "\n";
    return "Failure. Result was: " + actual + ", should have been: " + expected + "\n";
}

if (window.testRunner)
    testRunner.dumpAsText();

// Test 1: Verify that a header at the beginning of inserted content is preserved.
output = "Test 1: Verify that a header at the beginning of inserted content is preserved.\n";
output += insertHeaderForTest("<h1>bar</h1><div>baz</div>", "foo<h1>bar</h1>bazfoo");
output += insertHeaderForTest("<h2>bar</h2><div>baz</div>", "foo<h2>bar</h2>bazfoo");
output += insertHeaderForTest("<h3>bar</h3><div>baz</div>", "foo<h3>bar</h3>bazfoo");
output += insertHeaderForTest("<h4>bar</h4><div>baz</div>", "foo<h4>bar</h4>bazfoo");
output += insertHeaderForTest("<h5>bar</h5><div>baz</div>", "foo<h5>bar</h5>bazfoo");
output += insertHeaderForTest("<h6>bar</h6><div>baz</div>", "foo<h6>bar</h6>bazfoo");

// Test 2: Verify that a header at the end of inserted content is preserved.
output += "Test 2: Verify that a header at the end of inserted content is preserved.\n";
output += insertHeaderForTest("<div>bar</div><h1>baz</h1>", "foobar<h1>baz</h1>foo");
output += insertHeaderForTest("<div>bar</div><h2>baz</h2>", "foobar<h2>baz</h2>foo");
output += insertHeaderForTest("<div>bar</div><h3>baz</h3>", "foobar<h3>baz</h3>foo");
output += insertHeaderForTest("<div>bar</div><h4>baz</h4>", "foobar<h4>baz</h4>foo");
output += insertHeaderForTest("<div>bar</div><h5>baz</h5>", "foobar<h5>baz</h5>foo");
output += insertHeaderForTest("<div>bar</div><h6>baz</h6>", "foobar<h6>baz</h6>foo");

document.body.innerText = output;
</script>
</html>
